package ar.edu.utn.frba.proyecto.seleccion;

import ar.edu.utn.frba.proyecto.interfaces.Funcionable;
import ar.edu.utn.frba.proyecto.interfaces.Seleccionable;

public class Torneo implements Seleccionable {

	public Byte[][] seleccionar(Byte[][] info, int cantidadElementosSalida, Funcionable func){
		Byte[][] result= new Byte[cantidadElementosSalida][];
		for (int i=0; i<cantidadElementosSalida; i++){
			int contrincante1=(int)(Math.round(Math.random()*1000)%cantidadElementosSalida);
			int contrincante2=(int)(Math.round(Math.random()*1000)%cantidadElementosSalida);
			while (contrincante1==contrincante2){
				contrincante2=(int)(Math.round(Math.random()*1000)%cantidadElementosSalida);
			}
			if(func.funcion(info[contrincante1])>=func.funcion(info[contrincante2])){
				result[i]=info[contrincante1];
			} else {
				result[i]=info[contrincante2];
			}
		}
		return result;
	}
}
